home *** CD-ROM | disk | FTP | other *** search
/ Aminet 12 / Aminet 12 (1996)(GTI - Schatztruhe)[!][Jun 1996].iso / Aminet / dev / e / framework.lha / fw / wbWindow.e < prev    next >
Encoding:
Text File  |  1996-01-30  |  1.0 KB  |  44 lines

  1.  
  2. -> wbWindow is an abstraction of WB windows.
  3.  
  4. -> Copyright © Guichard Damien 01/04/1996
  5.  
  6. OPT MODULE
  7. OPT EXPORT
  8.  
  9. MODULE 'utility/tagitem','intuition/intuition'
  10. MODULE 'gadtools','libraries/gadtools'
  11. MODULE 'fw/wbGadTools'
  12.  
  13. OBJECT wbWindow OF wbGadTools
  14.   window:PTR TO window
  15.   menus:PTR TO menu
  16. ENDOBJECT
  17.  
  18. -> Create a window.
  19. -> Return FALSE if failed.
  20. PROC create(menus:PTR TO newmenu,visual,taglist) OF wbWindow HANDLE
  21.   IF gadtoolsbase=NIL THEN Raise(0)
  22.   IF menus
  23.     self.menus:=CreateMenusA(menus,NIL)
  24.     IF self.menus=NIL THEN Raise(0)
  25.     IF LayoutMenusA(self.menus,visual,
  26.       [GTMN_NEWLOOKMENUS,TRUE,TAG_DONE])=FALSE THEN Raise(0)
  27.   ENDIF
  28.   self.window:=OpenWindowTagList(NIL,taglist)
  29.   IF self.window=NIL THEN Raise(0)
  30.   IF menus THEN IF SetMenuStrip(self.window,self.menus)=FALSE THEN Raise(0)
  31.   Gt_RefreshWindow(self.window,NIL)
  32.   RETURN TRUE
  33. EXCEPT
  34.   self.remove()
  35. ENDPROC FALSE
  36.  
  37. -> Remove the window.
  38. PROC remove() OF wbWindow
  39.   IF self.window THEN CloseWindow(self.window)
  40.   IF self.menus THEN FreeMenus(self.menus)
  41.   self.window:=NIL
  42. ENDPROC
  43.  
  44.